From: Xiyue Deng Date: Sat, 21 Jun 2025 04:34:45 +0000 (-0700) Subject: Add public interfaces for accessing builtin package info (Bug#78844) X-Git-Tag: archive/raspbian/1%30.2+1-2+rpi1^2~2^2~2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=3218908d819d215262e94f7061684dcc0b02652f;p=emacs.git Add public interfaces for accessing builtin package info (Bug#78844) The following upstream patch has been backported: Add public interfaces for accessing builtin package info (Bug#78844) * lisp/emacs-lisp/package.el (package-builtin-packages) (package-builtin-package-version): New functions. * doc/lispref/package.texi: Add a section 'Package Information' with documentation for the new functions. * etc/NEWS: Add entry for 'package-versioned-builtin-packages' and 'package-builtin-package-version'. Origin: upstream, commit 5c75ec6ae52a5b06ad0424ce805f5ea0432b6e90 Forwarded: not-needed --- diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index be3b85f3179..82b7520a707 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -669,6 +669,21 @@ called via `package-activate-all'. To change which packages are loaded and/or activated, customize `package-load-list'.") (put 'package-alist 'risky-local-variable t) +;;;; Public interfaces for accessing built-in package info + +(defun package-versioned-builtin-packages () + "Return a list of all the versioned built-in packages. +The return value is a list of names of built-in packages represented as +symbols." + (mapcar #'car package--builtin-versions)) + +(defun package-builtin-package-version (package) + "Return the version of a built-in PACKAGE given by its symbol. +The return value is a list of integers representing the version of +PACKAGE, in the format returned by `version-to-list', or nil if the +package is built-in but has no version or is not a built-in package." + (alist-get package package--builtin-versions)) + ;;;###autoload (defvar package-activated-list nil ;; FIXME: This should implicitly include all builtin packages.